package com.dc.java8._2_function;

/**
 * Description: 自定义 函数式接口
 *
 * 函数式接口
 *  只包含一个抽象方法的接口，称为函数式接口。
 *  你可以通过 Lambda 表达式来创建该接口的对象。
 *      （若 Lambda表达式抛出一个受检异常，那么该异常需要在目标接口的抽象方法上进行声明）。
 *  我们可以在任意函数式接口上使用 @FunctionalInterface 注解，这样做可以检查它是否是一个函数式接口，
 *      同时 javadoc 也会包含一条声明，说明这个接口是一个函数式接口。
 *
 *
 * Java8 内置的四大核心函数式接口
 * 		Consumer<T> : 消费型接口
 * 				void accept(T t);
 * 		Supplier<T> : 供给型接口
 * 				T get();
 * 		Function<T, R> : 函数型接口
 * 				R apply(T t);
 * 		Predicate<T> : 断言型接口
 * 				boolean test(T t);
 * 	demo：com.dc.java8._1_lambda.LambdaTest5
 *
 * @author: gdc
 * @date: 2021/4/10
 * @version 1.0
 */
@FunctionalInterface
public interface MyFunc<T> {

    T getValue(T t);

}
